package com.winsdom.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 客户通知配置表
 * </p>
 *
 * @author 
 * @since 2025-05-12
 */
@Data
@Accessors(chain = true)
@TableName("customer_notification_config")
public class CustomerNotificationConfig implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 客户通知配置ID
     */
    @TableId(value = "config_id", type = IdType.AUTO)
    private Long configId;

    /**
     * 关联客户ID
     */
    private Long customerId;

    /**
     * 缴款是否通知
     */
    private Boolean paymentNotifyEnabled;

    /**
     * 缴款通知方式(1：邮箱 0：短信)
     */
    private Integer paymentNotifyType;

    /**
     * 催收是否通知
     */
    private Boolean collectionNotifyEnabled;

    /**
     * 催收通知方式(1：邮箱 0：短信)
     */
    private Integer collectionNotifyType;

    /**
     * 生成账单后催收间隔(天)
     */
    private Integer collectionAfterDays;

    /**
     * 首次发送催缴通知间隔(天)
     */
    private Integer firstNoticeInterval;

    /**
     * 催缴通知最大发送次数
     */
    private Integer maxNoticeTimes;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 当前已发送次数
     */
    private Integer currentNoticeTimes;
}
